package com.itheima.d4_enum;
/*
    1 枚举的常见应用场景：
        用来表示一组信息，然后作为参数进行传输。
    2 选择定义一个一个的常量来表示一组信息，并作为参数传输
        参数值不受约束,也没有起到见名之意,容易搞混。
    3 选择定义枚举表示一组信息，并作为参数传输
        代码可读性好，参数值得到了约束，对使用者更友好，建议使用!

    需求 :
        定义方法接收一个数据 , 来判断是男生还是女生,并展示对应的信息
 */
public class Test2 {
    public static void main(String[] args) {

        //正常情况下：
        //show(Gender.BOY);
        //show(Gender.GIRL);
        //非法操作：
        //show("妖"); //是可以正常调用方法  (缺点：参数值不受约束)

        //使用枚举改善代码：
        //show("男"); //报错。 方法的参数类型必须是Sex枚举类型
        show(Sex.BOY);//正常调用

    }
    //传递的参数值为：枚举类型
    public static void show(Sex sex){
        //switch语句支持枚举类型
        switch (sex){
            case BOY:
                System.out.println("给男生展示数据...");
                break;
            case GIRL:
                System.out.println("给女生展示数据...");
                break;
        }
    }

    //传递的参数值为：String类型
//    public static void show(String sex){
//        switch (sex){
//            case "男":
//                System.out.println("给男生展示数据...");
//                break;
//            case "女":
//                System.out.println("给女生展示数据...");
//                break;
//        }
//    }
}
